home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 12 C64 Telecom / KERM20.ARC / KERMIT7.DOC < prev   
Encoding:
Text File  |  2019-04-13  |  7.1 KB  |  184 lines

  1. Ç*NB"KERMIT 7.DOC"
  2. Ç*FP0
  3. ├64┬╧╧╘.┬┴╙ - ┬╧╧╘╙╘╥┴╨ ╨╥╧╟╥┴═ ╞╧╥ ├64─╪╠                              ╨AGE 29
  4.  
  5.  
  6. ╔╔. ├64┬╧╧╘.┬┴╙ - ┬╧╧╘╙╘╥┴╨ ╨╥╧╟╥┴═ ╞╧╥ ├64─╪╠
  7.  
  8. ╚ERE IS THE  DOWNLOAD PROGRAM  FOR THE  ├64.  ╬OTE  THAT THE  ╥╙-232
  9. CHANNEL OPEN STATEMENT IN  LINE 10 MAY NEED  TO BE MODIFIED FOR  THE
  10. PARTICULAR HOST.
  11.  
  12. ╘HE MAINFRAME HOST SHOULD HAVE A ├64┬╧╧╘ PROGRAM TO ACCOMPANY  THIS
  13. ONE WHICH RUNS ON  THE ├64.  ├64┬╧╧╘ IS  CURRENTLY WRITTEN IN  ├╠╒,
  14. AND IS  AVAILABLE  IN  EXECUTABLE  FORM FOR  ╘╧╨╙-20  AND  4.2  ╒╬╔╪
  15. SYSTEMS.
  16.  
  17. ╘O DOWNLOAD A FILE, LOAD AND  RUN THIS PROGRAM ON THE ├OMMODORE  64.
  18. ╒SE THE DUMB TERMINAL MODE  TO LOG IN TO  THE REMOTE HOST.  ╙ET  THE
  19. REMOTE HOST FOR HALF DUPLEX COMMUNICATION (THIS PREVENTS THE  REMOTE
  20. HOST FROM ECHOING THE ACKNOWLEDGEMENTS IT RECEIVES BACK TO THE ├64).
  21. ╘HEN RUN THE DOWNLOAD PROGRAM ON THE REMOTE HOST, INCLUDING THE NAME
  22. OF THE FILE YOU  WISH TO DOWNLOAD  TO THE ├64  ON THE COMMAND  LINE.
  23. ╞OR EXAMPLE, TO DOWNLOAD THE FILE FOO, YOU WOULD TYPE ├64┬╧╧╘ ╞╧╧
  24.  
  25. =============================================================================
  26.  
  27. 1 ╥┼═ ╞╔╠┼ ├┴╨╘╒╥┼ ╨╥╧╟╥┴═; ╥╧┬┼╥╘ ╠┼╬╧╔╠, ┴╒╘╚╧╥.
  28. 2 ╥┼═ ╫╥╔╘╘┼╬ ─┼├┼═┬┼╥ 1984. ├╠┼┴╬┼─ ╒╨ ╞╧╥ ╟┼╬┼╥┴╠ ╨╒┬╠╔├ ╞┼┬╥╒┴╥┘ 1985.
  29. 5 ╨╥╔╬╘ "[├╠┼┴╥]╬╧╫ ╔╬ ─╒═┬ ╘┼╥═╔╬┴╠ ═╧─┼.  ╨╥┼╙╙ ╞1 ╦┼┘";
  30. 6 ╨╥╔╬╘ "╘╧ ┬┼╟╔╬ ╥┼├┼╔╓╔╬╟ ╞╔╠┼. (═┴╦┼ ╙╒╥┼ ╘╚┴╘";
  31. 7 ╨╥╔╬╘ "╚╧╙╘ ╔╙ ╙┼╘ ╞╧╥ ╚┴╠╞-─╒╨╠┼╪.)  ╨╥┼╙╙ ╞7"
  32. 8 ╨╥╔╬╘ "╦┼┘ ╘╧ ┼╪╔╘ ╨╥╧╟╥┴═."
  33. 9 ╨╥╔╬╘ "----------------------------------------";
  34. 10 ╧╨┼╬ 1,2,0,├╚╥$(38)+├╚╥$(161) : ╧╨┼╬ 15,8,15
  35. 15 ╟┼╘ ┴$ : ╔╞ ┴$ = ├╚╥$(133) ╘╚┼╬ 20
  36. 16 ╔╞ ┴$ = ├╚╥$(136) ╘╚┼╬ ╨╥╔╬╘ "╤╒╔╘╘╔╬╟" : ├╠╧╙┼ 1 : ┼╬─
  37. 18 ╨╥╔╬╘┴$; : ╨╥╔╬╘#1,┴$; : ╟┼╘#1,┴$ : ╟╧╙╒┬ 150 : ╨╥╔╬╘┴$; : ╟╧╘╧ 15
  38. 20 ╞$="" : ╔╬╨╒╘ "╠╧├┴╠ ╞╔╠┼╬┴═┼";╞$
  39. 23 ╔╞ ╞$="" ╘╚┼╬ ├╠╧╙┼ 15 : ├╠╧╙┼ 1 : ╨╥╔╬╘ "╤╒╔╘╘╔╬╟" : ┼╬─
  40. 25 ╧╨┼╬ 8,8,8,"0:"+╞$+",╙,╫"
  41. 30 ╟╧╙╒┬ 60 : ╔╞ ┼╬$ > "00" ╘╚┼╬ ├╠╧╙┼ 8 : ╟╧╘╧ 20
  42. 35 ╟┼╘#1,┴$ : ╔╞ ┴$ > "" ╟╧╘╧ 35
  43. 40 ╟╧╙╒┬ 45 : ╟╧╘╧ 190
  44. 45 ╨╥╔╬╘#1,"OK" : ╥┼╘╒╥╬ :╥┼═ "╧╦" ╧╬ ╥┼═╧╘┼ ╚╧╙╘
  45. 47 ╨╥╔╬╘#1,"NG" : ╥┼╘╒╥╬ :╥┼═ "╬╟" ╧╬ ╥┼═╧╘┼ ╚╧╙╘
  46. 60 ╔╬╨╒╘#15,┼╬$,┼═$,┼╘$,┼╙$ : ╔╞ ┼╬$ > "00" ╘╚┼╬ ╨╥╔╬╘ "[╥╓╙ ╧╬]"┼╬$┼═$┼╘$┼╙$
  47. 61 ╥┼╘╒╥╬
  48. 150 ╥┼═ ├╧╬╓┼╥╘ ┴╙├╔╔ ╘╧ ╨┼╘┴╙├╔╔
  49. 155 ┴ = ┴╙├(┴$+├╚╥$(0)) : ╔╞ ┴ > 64 ┴╬─ ┴ < 91 ╘╚┼╬ ┴ = ┴ + 128
  50. 160 ╔╞ ┴ > 96 ┴╬─ ┴ < 123 ╘╚┼╬ ┴ = ┴ - 32
  51. 165 ╔╞ ┴=127 ╘╚┼╬ ┴=20
  52. 170 ┴$=├╚╥$(┴) :╥┼╘╒╥╬
  53. 190 ╠$="" : ├╦=0
  54. 195 ╟┼╘#1,┴$ : ╔╞ ┴$="" ╘╚┼╬ 195
  55. 197 ╔╞ ┴$=├╚╥$(13) ╘╚┼╬ 200
  56. 198 ├╦ = ├╦ + ┴╙├(┴$) : ╠$ = ╠$ +┴$ : ╨╥╔╬╘ ┴$; : ╟╧╘╧ 195
  57. 200 ╨╥╔╬╘ : ├╦$=""
  58. Ç*FP0
  59. ╨AGE 30                                                   ├64 ╦┼╥═╔╘ ╒SER ╟UIDE
  60.  
  61.  
  62. 202 ╟┼╘#1,┴$ : ╔╞ ┴$="" ╘╚┼╬ 202
  63. 203 ╔╞ ┴$ <> ├╚╥$(13) ╘╚┼╬ ├╦$ = ├╦$ + ┴$ : ╟╧╘╧ 202
  64. 205 ╔╞ ├╦ = ┴┬╙(╓┴╠(├╦$)) ╘╚┼╬ 210
  65. 207 ╨╥╔╬╘ "[╥╓╙ ╧╬]├╚┼├╦╙╒═ ┼╥╥╧╥ - ╙┼╬─╔╬╟ ╬┴├╦" : ╟╧╙╒┬ 47 : ╟╧╘╧ 190
  66. 210 ╨╥╔╬╘#8,╠$ : ╟╧╙╒┬ 60 : ╔╞ ┼╬$ > "00" ╘╚┼╬ ╙╘╧╨ :╥┼═ (╞┴╘┴╠?) ─╔╙╦ ┼╥╥╧╥
  67. 215 ╟╧╙╒┬ 45 : ╔╞ ╠┼╞╘$(├╦$,1) <> "-" ╘╚┼╬ 190
  68. 220 ├╠╧╙┼ 8 : ╨╥╔╬╘ ╞$" ─╧╫╬╠╧┴─┼─; ╥┼╘╒╥╬╔╬╟ ╘╧ ╘┼╥═╔╬┴╠ ═╧─┼" : ╟╧╘╧ 15
  69. L├64┬╧╧╘.├ - ═┴╔╬╞╥┴═┼ ╙╔─┼ ╧╞ ┬╧╧╘╙╘╥┴╨                                 ╨AGE 31
  70.  
  71.  
  72. ╔╔╔. ├64┬╧╧╘.├ - ═┴╔╬╞╥┴═┼ ╙╔─┼ ╧╞ ┬╧╧╘╙╘╥┴╨
  73.  
  74. /*  "C64BOOT.C"  INITIAL DOWNLOAD PROGRAM FOR ╒NIX SYSTEMS   *
  75.  * PROGRAM TO DOWNLOAD FILES TO ├64, MODELLED ON ├64┬╧╧╘.├╠╒
  76.  *  SENDS LINES, ONE AT A TIME, EACH FOLLOWED BY A CHECKSUM.
  77.  * THE ├64 VALIDATES CKSUM AND RETURNS "╧╦" OR "╬╟".
  78.  * LAST LINE CKSUM SENT WITH LEADING "-" TO SIGNIFY EOF.
  79.  *  ┴LTHOUGH WRITTEN ON A ╒NIX SYSTEM, THE ├ CODE CONTAINS
  80.  *  NO KERNAL CALLS AND SHOULD BE FAIRLY PORTABLE.
  81.  *  ╫RITTEN BY:  ┴LASTAIR ═AYER, ╒. OF ╟UELPH, 2-┴PR-85
  82.  *               ( ACDMAYER@UOGUELPH.BITNET )
  83.  */
  84. #INCLUDE <STDIO.H>
  85. #DEFINE ┬╒╞╞═┴╪ 256
  86. #DEFINE ┼╧╙ '\0'
  87.  
  88. MAIN(ARGC,ARGV)
  89. INT ARGC;
  90. CHAR *ARGV[];
  91.  
  92.    CHAR RECEIVED[┬╒╞╞═┴╪],
  93.         LINE[┬╒╞╞═┴╪];
  94.    CHAR *C;
  95.    INT  CHECKSUM = 0;
  96.    INT EOF = 0;
  97.    ╞╔╠┼ *FD;
  98.  
  99.    IF (ARGC>1)
  100.       FD = FOPEN(ARGV[1],"R");
  101.    IF (FD == ╬╒╠╠) █
  102.       FPRINTF(STDERR,"%S: CAN'T OPEN '%S'\N",ARGV[0],ARGV[1]);
  103.       EXIT(-1);
  104.       ▌
  105.    WHILE (STRCMP(RECEIVED,"╧╦"))
  106.        SCANF("%[?\N]%*C",RECEIVED);
  107.       /* WAIT FOR STARTING "╧╦" */
  108.  
  109.    WHILE ( (! EOF) ▄▄ (STRCMP(RECEIVED,"╬╟")==0)) █
  110.        IF (STRCMP(RECEIVED,"╧╦")==0) █
  111.           LINE[0] = ┼╧╙;  /* CLEAR IT FIRST */
  112.           EOF = (FSCANF(FD,"%[?\N]%*C",LINE) < 0);
  113.           ▌
  114.        CHECKSUM = 0;
  115.        FOR (C=LINE; *C ; C++) █
  116.           PUTCHAR(*C);
  117.           CHECKSUM += *C;
  118.           ▌
  119.        PUTCHAR('\N');
  120.        IF (EOF) PUTCHAR('-');
  121.        CHECKSUM &= 0177;
  122.        PUTCHAR(CHECKSUM);
  123. Ç*FP0
  124. ╨AGE 32                                                   ├64 ╦┼╥═╔╘ ╒SER ╟UIDE
  125.  
  126.  
  127.        PUTCHAR('\N');
  128.        RECEIVED[0] = ┼╧╙;  /* CLEAR IT IN CASE WE DON'T READ ANYTHING */
  129.        SCANF("%[?\N]%*C",RECEIVED);
  130.        ▌
  131. Ç*FP0
  132. ╘ABLE OF ├ONTENTS                                                        ╨AGE I
  133.  
  134.  
  135.    ╘ABLE OF ├ONTENTS
  136.  
  137. 1. ╔NTRODUCTION                                                               1
  138.  
  139.    1.1. ╧VERVIEW                                                              1
  140.    1.2. ╙YSTEM ╥EQUIREMENTS                                                   2
  141.  
  142. 2. ╔MPLEMENTATION ╬OTES                                                       3
  143.  
  144.    2.1. ╦NOWN ┬UGS, ╥ESTRICTIONS                                              3
  145.    2.2. ╚╔╬╘╙                                                                 3
  146.    2.3. ╬OTES                                                                 3
  147.    2.4. ╦┼╥═╔╘ ╥UNTIME ═EMORY ═AP                                             3
  148.    2.5. ╞UTURE ╨LANS                                                          4
  149.  
  150. 3. ╥UNNING ╦┼╥═╔╘                                                             6
  151.  
  152.    3.1. ┬OOTING ╦┼╥═╔╘                                                        6
  153.    3.2. ├OMMANDS IN ╦┼╥═╔╘                                                    6
  154.    3.3. ╔╬╔╘ ╞ILES                                                           20
  155.  
  156. 4. ╦┼╥═╔╘-65 ╙┘╙╘┼═ ╔╬╙╘┴╠╠┴╘╔╧╬ ╟╒╔─┼                                       21
  157.  
  158.    4.1. ╘╚┼ ╞╔╠┼╙                                                            21
  159.    4.2. ┬UILDING ╦┼╥═╔╘-65                                                   21
  160.    4.3. ╟ENERAL ╨ROCEDURES AND ├ONVENTIONS                                   22
  161.    4.4. ╠OADING AN ASSEMBLED FILE                                            22
  162.    4.5. ╠OADING A NEW VERSION OF ╦┼╥═╔╘-65                                   24
  163.    4.6. ╠OADING FROM A .╚┼╪ FILE                                             24
  164.    4.7. ╠OADING FROM THE BINARY VERSION                                      25
  165.  
  166. ╔. ├HARACTER AND ├ONTROL ├ODE ─EFINITIONS                                    26
  167.  
  168.    ╔.1. ╦EYBOARD ╠AYOUT                                                      26
  169.    ╔.2. ╟╠┴╙╙ TERMINAL                                                       27
  170.    ╔.3. ╓╘-52 ╘ERMINAL                                                       27
  171.  
  172. ╔╔. ├64┬╧╧╘.┬┴╙ - ┬╧╧╘╙╘╥┴╨ ╨╥╧╟╥┴═ ╞╧╥ ├64─╪╠                               29
  173.  
  174. ╔╔╔. ├64┬╧╧╘.├ - ═┴╔╬╞╥┴═┼ ╙╔─┼ ╧╞ ┬╧╧╘╙╘╥┴╨                                 31
  175. Ç*FP0
  176. ╨AGE II                                                   ├64 ╦┼╥═╔╘ ╒SER ╟UIDE
  177.  
  178.  
  179.      ╠IST OF ╘ABLES
  180.    ╘ABLE ╔-1:   ├ONTROL ├ODES ╞OR ╟LASS ╘╘┘                                  27
  181.    ╘ABLE ╔-2:   ┼SCAPE ╙EQUENCES FOR ╓╘-52                                   27
  182.